Service pro Win2K, rizeni behu

Otázka od: Beneš Jaroslav

26. 11. 2002 8:34

Ahoj,

nevite nekdo jak zjistim ze mi bezi service (ze je instalovana a ze je
spustena/zastavena) a jak do programu service poslat registrovanou zpravu? A
jak se da jinym programem zastavit?

Diky

Jaro B.

Odpovedá: Dalibor Toman

26. 11. 2002 9:04

>nevite nekdo jak zjistim ze mi bezi service (ze je instalovana a ze
je spustena/zastavena)

mas v podstate dve moznosti:
a) Tvuj program zaregistruje nejaky globalni objekt (mapovany file
atd) pod jmenem, ktere budes hledat (zkouset otevrit)
b) zeptas se primo service manageru, zda dana sluzba bezi

>a jak do programu service poslat registrovanou zpravu?

zrejme PostMessage/SendMessage s HWDN_BROADCAST flagem? Pripadne pokud
zjistis handle na thread sluzby pak PostThreadMessage..

>A jak se da jinym programem zastavit?

zase (pokud ma program prislusna prava) komunikaci se service
managerem:

  schManager := OpenSCManager(NIL,NIL,SC_MANAGER_ALL_ACCES);
  if schManager <> 0 then
  begin
    schService :=
OpenService(schManager,c_ServiceName,SERVICE_ALL_ACCESS);
    if schService <> 0 then
    begin
      if ControlService(schService,SERVICE_CONTROL_STOP,ssStatus) then



Zdravi
D. Toman

Odpovedá: Petr Langer

26. 11. 2002 9:32

Stahni si http://www.jgsoftware.com/Software/jgnt20.zip, jsou to OSS
knihovny pro NT. Vyvoj je sice ukoncen, ale je to funkcni.
V JCL jsou taky knihovny, ktere to umi i s ukazkama (NtSvc*.*).

HTH
    pl

----- Original Message -----
From: "Beneš Jaroslav" <JBenes@cpoj.cz>
To: <delphi-l@clexpert.cz>
Sent: Tuesday, November 26, 2002 8:12 AM
Subject: Service pro Win2K, rizeni behu


Ahoj,

nevite nekdo jak zjistim ze mi bezi service (ze je instalovana a ze je
spustena/zastavena) a jak do programu service poslat registrovanou zpravu? A
jak se da jinym programem zastavit?

Diky

Jaro B.